package com.one.group.model.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author kld
 * @date 2025/9/30 14:13
 * @description 投诉管理实体类
 */
@Data
@Table("sp_complaint_management")
public class ComplaintManagement implements Serializable {
    @Id(keyType = KeyType.Auto)
    private Long id;
    @Column(tenantId = true)
    private Long tenantId;
    @Column(value = "cell_id")
    private String cellId; // 小区ID（关联 sp_cell 表）
    @Column("house_id")
    private Long houseId; // 房屋ID（关联 sp_house 表）
    private String complainant;
    @Column("complaint_date")
    private Date complaintDate;
    @NotBlank(message = "联系电话不能为空")
    @Column("contact_phone")
    private String contactPhone;
    private String status;
    @NotBlank (message = "投诉内容不能为空")
    @Column("complaint_content")
    private String complaintContent;
    private String handler;
    @Column("handling_time")
    private Date handlingTime;
    @Column(value = "is_deleted",isLogicDelete = true)
    private Integer isDeleted;
    @Column("revisit_person")
    private String revisitPerson;
    @Column("revisit_time")
    private Date revisitTime;
    @Column("revisit_content")
    private String revisitContent;
    @Column("revisit_status")
    private String revisitStatus;
    @Column("processing_result")
    private String processingResult;
    @Column("attachment_url")
    private String attachmentUrl;
}